def hanio_tower(num , a , b , c):
    '''
        num : 多少层汉诺塔
        a : 表示a柱子
        b : 表示b柱子
        c : 表示c柱子
        汉诺塔暂时就这样了，也知道怎么解决了
        其实就是递归了
        我现在也明白递归是怎么弄了  知道是怎么个原理了
        不必在此题上纠结太多  知道怎么解决了  也知道递归的原理了 ok  pass
    '''
    #如果只有一个柱子
    if(num == 1):
        print("第1个盘子从" , a , "->" , c)
    else:
        #有多个盘子,我们认为只有两个,上面所有的盘和最下面的盘
        #移动上面所有的盘到B柱子,这个过程会借助到C柱子
        hanio_tower(num-1 , a , c , b)
        #移动最下面的盘
        print(f"第{num}个盘从{a} -> {c}")
        #把上面所有盘从B柱子移动到C柱子,这个过程中会使用到A柱子
        hanio_tower(num-1 , b ,a, c)


hanio_tower(2 , 'A' , 'B' , 'C')